package com.sl.au.service;

import java.util.List;
import java.util.Map;

import org.activiti.engine.runtime.ProcessInstance;

import com.sl.au.entity.AuditRoot;
import com.sl.au.entity.Contract;
import com.sl.au.entity.ContractInfo;
import com.sl.au.entity.ContractPart;
import com.sl.au.entity.ContractPump;
import com.sl.au.entity.ContractRepair;
import com.sl.au.entity.DivideScale;
import com.sl.au.entity.Option;
import com.sl.au.entity.QuoteDevice;
import com.sl.au.entity.QuoteReplacement;
import com.sl.au.repository.ContractInfoRepository;
import com.sl.au.repository.ContractPartRepository;
import com.sl.au.repository.ContractPumpRepository;
import com.sl.au.repository.ContractRepairRepository;
import com.sl.au.repository.ContractRepository;
import com.sl.au.repository.DetailRelevanceRepository;
import com.sl.au.repository.DeviceRepository;
import com.sl.au.repository.DivideScaleRepository;
import com.sl.au.repository.QuoteDeviceRepository;
import com.sl.au.repository.QuoteReplacementRepository;
import com.sl.au.repository.ReplacementDeviceRepository;

/**
 * 合同综合查询服务
 * @author XH
 *
 */
public interface ContractQueryService extends BaseService {

ContractRepository getRepository();

ContractInfoRepository getContractInfoRepository();

DivideScaleRepository getRepository1();

ContractPartRepository getRepository2();

ContractPumpRepository getRepository3();

ContractRepairRepository getRepository4();

QuoteDeviceRepository getRepository5();

DetailRelevanceRepository getRepository6();

ReplacementDeviceRepository getRepository7();

DeviceRepository getRepository8();

QuoteReplacementRepository getRepository9();

/**
 * 服务器分页查询当前用户的所有合同
 * @param start
 * @param length
 * @param key
 * @param orderName
 * @param dir
 * @return
 */
List<ContractInfo> getContractInfos(int start, int length,Map<String, Object> condition,String orderName ,String dir);

/**
 * 通过条件得到合同条数
 * @param key
 * @return
 */
long getContractInfosCount(Map<String, Object> condition);

/**
 * 得到合同综合查询超期合同下拉框数据
 * @return
 */
List<Option> getOutDateLists();

}
